--- 模块功能：camera功能测试.
-- @author openLuat
-- @module fs.testFs
-- @license MIT
-- @copyright openLuat
-- @release 2018.03.27

module(...,package.seeall)

require"pm"
require"scanCode"
require"utils"
require"common"
require"testUartSentFile"

local WIDTH,HEIGHT = disp.getlcdinfo()
local DEFAULT_WIDTH,DEFAULT_HEIGHT = 320,240

-- 扫码结果回调函数
-- @bool result，true或者false，true表示扫码成功，false表示超时失败
-- @string[opt=nil] codeType，result为true时，表示扫码类型；result为false时，为nil；支持QR-Code和CODE-128两种类型
-- @string[opt=nil] codeStr，result为true时，表示扫码结果的字符串；result为false时，为nil
local function scanCodeCb(result,codeType,codeStr)
    --关闭摄像头预览
    disp.camerapreviewclose()
    --关闭摄像头
    disp.cameraclose()
    --允许系统休眠
    pm.sleep("testScanCode")
    --500毫秒后处理扫描结果
    sys.timerStart(function()
        --如果有LCD，显示扫描结果
        if WIDTH~=0 and HEIGHT~=0 then 
            disp.clear()
            if result then
                disp.puttext(common.utf8ToGb2312("扫描成功"),0,5)
                disp.puttext(common.utf8ToGb2312("类型: ")..codeType,0,35)
                log.info("scanCodeCb",codeStr:toHex())
                disp.puttext(common.utf8ToGb2312("结果: ")..codeStr,0,65)                
            else
                disp.puttext(common.utf8ToGb2312("扫描失败"),0,5)                
            end
            disp.update()
        end
    end,500)
    
    sys.timerStart(scan,1000)
end

local bf302A_sdr =
{
	zbar_scan = 1,
	i2c_addr = 0x6e, 
	sensor_width = 240, 
	sensor_height = 320, 
	id_reg = 0xfd, 
	id_value = 0x02,
	spi_mode = disp.CAMERA_SPI_MODE_LINE1, 
	spi_speed = disp.CAMERA_SPEED_SDR, 
	spi_yuv_out = disp.CAMERA_SPI_OUT_Y1_V0_Y0_U0, 
	
	init_cmd = 
	{
		0xcf,0xb0,--//POWER UP
		0x12,0x40,--//MTK:20 ZX:10 RDA:40
		0x15,0x00,	
		0x6b,0x71,
		0x00,0x40,
		0x04,0x00,	
		0x06,0x26,
		0x08,0x07,
		0x1c,0x12,
		0x20,0x20,
		0x21,0x20,
		0x34,0x02,
		0x35,0x02,	
		0x36,0x21,	
		0x37,0x13,
		0xca,0xf3,	
		0xcb,0x22,
		0xcc,0x89,
		0xcd,0x4c,
		0xce,0x6b,
		0xa0,0x8e,
		0x01,0x1b,
		0x02,0x1d,
		0x13,0x08,
		0x87,0x13,
		0x8b,0x08,
		0x70,0x1f,
		0x71,0x43,	
		0x72,0x0a,
		0x73,0x62,
		0x74,0xa2,
		0x75,0xbf,	
		0x76,0x02,
		0x77,0xcc,
		0x40,0x32,
		0x41,0x28,
		0x42,0x26,
		0x43,0x1d,
		0x44,0x1a,
		0x45,0x14,
		0x46,0x11,
		0x47,0x0f,
		0x48,0x0e,
		0x49,0x0d,
		0x4B,0x0c,
		0x4C,0x0b,
		0x4E,0x0a,
		0x4F,0x09,
		0x50,0x09,
		0x24,0x50,
		0x25,0x36,
		0x80,0x00,
		0x81,0x20,
		0x82,0x40,
		0x83,0x30,
		0x84,0x50,
		0x85,0x30,
		0x86,0xd8,
		0x89,0x45,	
		0x8a,0x33,	
		0x8f,0x81,
		0x91,0xff,	
		0x92,0x08,	
		0x94,0x82,		
		0x95,0xfd,	
		0x9a,0x20,
		0x9e,0xbc,					
		0xf0,0x8f,
		0x51,0x06,
		0x52,0x25,
		0x53,0x2b,
		0x54,0x0f,
		0x57,0x2a,
		0x58,0x22,
		0x59,0x2c,
		0x23,0x33,
		0xa1,0x93,
		0xa2,0x0f,
		0xa3,0x2a,
		0xa4,0x08,
		0xa5,0x26,
		0xa7,0x80,
		0xa8,0x80,
		0xa9,0x1e,
		0xaa,0x19,
		0xab,0x18,
		0xae,0x50,
		0xaf,0x04,	
		0xc8,0x10,
		0xc9,0x15,
		0xd3,0x0c,
		0xd4,0x16,		
		0xee,0x06,
		0xef,0x04,	
		0x55,0x34,
		0x56,0x9c,	
		0xb1,0x98,
		0xb2,0x98,
		0xb3,0xc4,
		0xb4,0x0c,
		0xa0,0x8f,
		0x13,0x07,

	}
}

local gc6153 =
{
	zbar_scan = 1,  --是否支持扫码
	i2c_addr = 0x40,  --/* 摄像头i2c访问地址 */
	sensor_width = 240,  --/* 摄像头的宽 */
	sensor_height = 320, --/* 摄像头的高 */
	id_reg = 0xf1,      -- /* 摄像头ID寄存器 */
	id_value = 0x53,    -- /* 摄像头ID值 */
	-- /* 摄像头SPI是几线输出 */
    --disp.CAMERA_SPI_MODE_LINE1 1线
    --disp.CAMERA_SPI_MODE_LINE2 2线
    --disp.CAMERA_SPI_MODE_LINE4 4线
	spi_mode = disp.CAMERA_SPI_MODE_LINE1, -- /* 摄像头SPI是几线输出 */
	
	-- /* 摄像头采集速率 */
    --disp.CAMERA_SPEED_SDR  单片采集
    --disp.CAMERA_SPEED_DDR  双边采集
	spi_speed = disp.CAMERA_SPEED_SDR,  -- /* 摄像头采集速率 */
	
   --disp.CAMERA_SPI_OUT_Y0_U0_Y1_V0
   --disp.CAMERA_SPI_OUT_Y0_V0_Y1_U0
   --disp.CAMERA_SPI_OUT_U0_Y0_V0_Y1
   --disp.CAMERA_SPI_OUT_U0_Y1_V0_Y0
   --disp.CAMERA_SPI_OUT_V0_Y0_U0_Y1
   --disp.CAMERA_SPI_OUT_Y1_V0_Y0_U0
   --disp.CAMERA_SPI_OUT_Y1_U0_Y0_V0
	spi_yuv_out = disp.CAMERA_SPI_OUT_U0_Y1_V0_Y0, -- /* 摄像头输出YUV的格式 */
	
	init_cmd = --/*摄像头初始化寄存器*/
	{
		--addr  value
		 0xfe, 0xa0  ,
		 0xfe, 0xa0  ,
		 0xfe, 0xa0  ,
		 0xf6, 0x00  ,
		 0xfa, 0x11  ,
		 0xfc, 0x12  ,
		 0xfe, 0x00  , 	
		 0xfe, 0x00  ,
		 0x01, 0x41  , 
		 0x02, 0x12  , 
		 0x0d, 0x40  , 
		 0x14, 0x7E  , 
		 0x16, 0x05 , 
		 0x17, 0x18  , 
		 0x1c, 0x31  , 
		 0x1d, 0xbb  , 
		 0x1f, 0x3f  , 
		 0x73, 0x20  , 
		 0x74, 0x71  , 
		 0x77, 0x22  , 
		 0x7a, 0x08  , 
		 0x11, 0x18  , 
		 0x13, 0x48  , 
		 0x12, 0xc8  , 
		 0x70, 0xc8  , 
		 0x7b, 0x18  , 
		 0x7d, 0x30  , 
		 0x7e, 0x02  , 
		 0xfe, 0x10  , 
		 0xfe, 0x00  ,
		 0xfe, 0x00  ,
		 0xfe, 0x00  ,
		 0xfe, 0x00  ,
		 0xfe, 0x00  ,
		 0xfe, 0x10  ,
		 0xfe, 0x00  ,
		 0x49, 0x61  ,  
		 0x4a, 0x40  ,  
		 0x4b, 0x58  ,  
		 0xfe, 0x00  ,
		 0x39, 0x02  , 
		 0x3a, 0x80  , 
		 0x20, 0x7e  , 
		 0x26, 0x87  , 
		 0x33, 0x10  , 
		 0x37, 0x06  , 
		 0x2a, 0x21  , 
		 0x3f, 0x16  ,
		 0x52, 0xa6  ,
		 0x53, 0x81  ,
		 0x54, 0x43  ,
		 0x56, 0x78  ,
		 0x57, 0xaa  ,
		 0x58, 0xff  , 
		 0x5b, 0x60  , 
		 0x5c, 0x50  , 
		 0xab, 0x2a  , 
		 0xac, 0xb5  ,
		 0x5e, 0x06  , 
		 0x5f, 0x06  ,
		 0x60, 0x44  ,
		 0x61, 0xff  ,
		 0x62, 0x69  , 
		 0x63, 0x13  ,
		 0x65, 0x13  , 
		 0x66, 0x26  ,
		 0x67, 0x07  ,
		 0x68, 0xf5  , 
		 0x69, 0xea  ,
		 0x6a, 0x21  ,
		 0x6b, 0x21  , 
		 0x6c, 0xe4  ,
		 0x6d, 0xfb  ,
		 0x81, 0x3b  , 
		 0x82, 0x3b  , 
		 0x83, 0x4b  ,
		 0x84, 0x90  ,
		 0x86, 0xf0  ,
		 0x87, 0x1d  ,
		 0x88, 0x16  ,
		 0x8d, 0x74  ,
		 0x8e, 0x25  ,
		 0x90, 0x36  ,
		 0x92, 0x43  ,
		 0x9d, 0x32  , 
		 0x9e, 0x81  ,
		 0x9f, 0xf4  ,
		 0xa0, 0xa0  ,
		 0xa1, 0x04  ,
		 0xa3, 0x2d  ,
		 0xa4, 0x01  ,
		 0xb0, 0xc2  ,
		 0xb1, 0x1e  ,
		 0xb2, 0x10  ,
		 0xb3, 0x20  ,
		 0xb4, 0x2d  ,
		 0xb5, 0x1b  , 
		 0xb6, 0x2e  ,
		 0xb8, 0x13  ,
		 0xba, 0x60  ,
		 0xbb, 0x62  ,
		 0xbd, 0x78  , 
		 0xbe, 0x55  ,
		 0xbf, 0xa0  , 
		 0xc4, 0xe7  ,
		 0xc5, 0x15  ,
		 0xc6, 0x16  ,
		 0xc7, 0xeb  , 
		 0xc8, 0xe4  ,
		 0xc9, 0x16  ,
		 0xca, 0x16  ,
		 0xcb, 0xe9  ,
		 0x22, 0xf8  ,
		 0xfe, 0x02  ,
		 0x01, 0x01  , 
		 0x02, 0x80  , 
		 0x03, 0x20  , 
		 0x04, 0x20  ,  
		 0x0a, 0x00  , 
		 0x13, 0x10  , 
		 0x28, 0x03  ,
		 0xfe, 0x00  , 
		 0x22, 0xf8  , 
		 0xf2, 0x03  , 
	},	
}

local gc0310_ddr =
{
	zbar_scan = 1,
	i2c_addr = 0x21, 
	sensor_width = 320, 
	sensor_height = 240, 
	id_reg = 0xf1, 
	id_value = 0x10,
	spi_mode = disp.CAMERA_SPI_MODE_LINE2, 
	spi_speed = disp.CAMERA_SPEED_DDR, 
	spi_yuv_out = disp.CAMERA_SPI_OUT_Y1_V0_Y0_U0, 
	
	init_cmd =
	{
		 
		0xfe,0xf0 ,
		0xfe,0xf0 ,
		0xfe,0x00 ,

		0xfc,0x16 , 
		0xfc,0x16 , 
		0xf2,0x07 , 
		0xf3,0x83 ,
		0xf5,0x07 , 

		0xf7,0x89 , 
		0xf8,0x01 ,         
		0xf9,0x4f , 
		0xfa,0x11 , 
		0xfc,0xce ,
		0xfd,0x00 ,
		0x00,0x2f , 
		0x01,0x0f , 
		0x02,0x04 ,
		0x03,0x02 ,
		0x04,0x12 ,

		0x09,0x00 , 
		0x0a,0x00 , 
		0x0b,0x00 , 
		0x0c,0x04 , 
		0x0d,0x01 , 
		0x0e,0xe8 , 
		0x0f,0x02 , 
		0x10,0x88 , 
		0x16,0x00 ,
		0x17,0x14 ,
		0x18,0x1a , 
		0x19,0x14 , 
		0x1b,0x48 ,
		0x1c, 0x6c ,
		0x1e,0x6b , 
		0x1f,0x28 ,			

		0x20,0x8b , 

		0x21,0x49 , 
		0x22, 0xd0 , 
		0x23,0x04 , 
		0x24,0xff , 
		0x34,0x20 , 
		0x26,0x23 , 
		0x28,0xff ,
		0x29,0x00 ,  
		0x32, 0x04 ,
		0x33,0x10 , 
		0x37,0x20 , 
		0x38,0x10 , 
		0x47,0x80 , 
		0x4e,0x66 , 
		0xa8,0x02 , 
		0xa9,0x80 ,
		0x40,0xff , 
		0x41,0x21 ,
		0x42,0xcf ,  
		0x44,0x02 , 
		0x45,0xa8 , 
		0x46,0x02 , 
		0x4a,0x11 , 
		0x4b,0x01 , 
		0x4c,0x20 ,
		0x4d,0x05 ,
		0x4f,0x01 , 
		0x50,0x01 ,
		0x55,0x01 ,
		0x56,0xe0 , 
		0x57,0x02 ,
		0x58,0x80 , 
		0x70,0x70 ,
		0x5a,0x84 ,
		0x5b,0xc9 ,
		0x5c,0xed ,
		0x77,0x74 ,
		0x78,0x40 ,
		0x79,0x5f , 
		0x82,0x08 , 
		0x83,0x0b ,
		0x89,0xf0 ,

		0x8f,0xaa ,
		0x90,0x8c ,
		0x91,0x90 ,
		0x92,0x03 ,
		0x93,0x03 ,
		0x94,0x05 ,
		0x95,0x43 , 
		0x96,0xf0 , 

		0xfe,0x00 ,
		0x9a, 0x20 , 
		0x9b, 0x80 , 
		0x9c, 0x40 , 
		0x9d, 0x80 , 
		0xa1, 0x30 , 
		0xa2, 0x32 , 
		0xa4, 0x80 ,
		0xa5, 0x28 ,
		0xaa, 0x30 ,				
		0xac, 0x22 , 
		0xfe, 0x00 , 
		0xbf,0x08 , 
		0xc0,0x16 , 
		0xc1,0x28 , 
		0xc2,0x41 , 
		0xc3,0x5a , 
		0xc4,0x6c , 
		0xc5,0x7a , 
		0xc6,0x96 , 
		0xc7,0xac , 
		0xc8,0xbc , 
		0xc9,0xc9 , 
		0xca,0xd3 , 
		0xcb,0xdd , 
		0xcc,0xe5 , 
		0xcd,0xf1 , 
		0xce,0xfa , 
		0xcf,0xff ,
		0xd0,0x40 , 
		0xd1,0x38 ,
		0xd2,0x38 , 
		0xd3,0x50 ,
		0xd6,0xf2 , 
		0xd7,0x1b , 
		0xd8,0x18 , 
		0xdd,0x03 , 
		0xfe,0x01 ,
		0x05,0x30 ,
		0x06,0x75 ,
		0x07,0x40 ,
		0x08,0xb0 ,
		0x0a,0xc5 ,
		0x0b,0x11 ,
		0x0c,0x00 ,
		0x12,0x52 ,
		0x13,0x38 ,
		0x18,0x95 ,
		0x19,0x96 ,
		0x1f, 0x20 , 
		0x20, 0xc0 , 
		0x3e,0x40 , 
		0x3f,0x57 , 
		0x40,0x7d , 
		0x03,0x60 , 
		0x44, 0x02 , 
		0xfe,0x01 ,
		0x1c,0x91 ,
		0x21,0x15 ,
		0x50,0x80 ,
		0x56,0x04 ,
		0x59,0x08 ,
		0x5b,0x02 ,
		0x61,0x8d ,
		0x62,0xa7 ,
		0x63,0xd0 ,
		0x65,0x06 ,
		0x66,0x06 ,
		0x67,0x84 ,
		0x69,0x08 ,
		0x6a,0x25 ,
		0x6b,0x01 ,
		0x6c,0x00 ,
		0x6d,0x02 ,
		0x6e,0xf0 ,
		0x6f,0x80 ,
		0x76,0x80 ,
		0x78,0xaf ,


		0x79,0x75 ,
		0x7a,0x40 ,
		0x7b,0x50 ,
		0x7c,0x0c , 

		0x90,0xc9 ,
		0x91,0xbe ,
		0x92,0xe2 ,
		0x93,0xc9 ,
		0x95,0x1b ,
		0x96,0xe2 ,
		0x97,0x49 ,
		0x98,0x1b ,
		0x9a,0x49 ,
		0x9b,0x1b ,
		0x9c,0xc3 ,
		0x9d,0x49 ,
		0x9f,0xc7 ,
		0xa0,0xc8 ,
		0xa1,0x00 ,
		0xa2,0x00 ,
		0x86,0x00 ,
		0x87,0x00 ,
		0x88,0x00 ,
		0x89,0x00 ,
		0xa4,0xb9 ,
		0xa5,0xa0 ,
		0xa6,0xba ,
		0xa7,0x92 ,
		0xa9,0xba ,
		0xaa,0x80 ,
		0xab,0x9d ,
		0xac,0x7f ,
		0xae,0xbb ,
		0xaf,0x9d ,
		0xb0,0xc8 ,
		0xb1,0x97 ,
		0xb3,0xb7 ,
		0xb4,0x7f ,
		0xb5,0x00 ,
		0xb6,0x00 ,
		0x8b,0x00 ,
		0x8c,0x00 ,
		0x8d,0x00 ,
		0x8e,0x00 ,
		0x94,0x55 ,
		0x99,0xa6 ,
		0x9e,0xaa ,
		0xa3,0x0a ,
		0x8a,0x00 ,
		0xa8,0x55 ,
		0xad,0x55 ,
		0xb2,0x55 ,
		0xb7,0x05 ,
		0x8f,0x00 ,
		0xb8,0xcb ,
		0xb9,0x9b ,  
		0xfe,0x01 ,
		0xd0, 0x38 , 
		0xd1, 0x00 , 
		0xd2, 0x02 , 
		0xd3, 0x04 , 
		0xd4, 0x38 , 
		0xd5, 0x12 , 
		0xd6,0x30 ,
		0xd7,0x00 ,
		0xd8,0x0a ,
		0xd9,0x16 ,
		0xda,0x39 ,
		0xdb,0xf8 ,
		0xfe,0x01 , 
		0xc1,0x3c ,
		0xc2,0x50 ,
		0xc3,0x00 ,
		0xc4,0x40 ,
		0xc5,0x30 ,
		0xc6,0x30 ,
		0xc7,0x10 ,
		0xc8,0x00 ,
		0xc9,0x00 ,
		0xdc,0x20 ,
		0xdd,0x10 ,
		0xdf,0x00 , 
		0xde,0x00 , 
		0x01,0x10 , 
		0x0b, 0x31 , 
		0x0e,0x50 , 
		0x0f,0x0f , 
		0x10,0x6e , 
		0x12,0xa0 , 
		0x15,0x60 , 
		0x16,0x60 , 
		0x17,0xe0 , 
		0xcc,0x0c ,
		0xcd,0x10 , 
		0xce,0xa0 , 
		0xcf,0xe6 , 
		0x45,0xf7 ,
		0x46,0xff , 
		0x47,0x15 ,
		0x48,0x03 , 
		0x4f,0x60 ,

		0xfe,0x00 ,
		0x05, 0x01 , 
		0x06, 0x89 , 
		0x07, 0x00 , 
		0x08, 0x2a , 
		0xfe, 0x01 , 
		0x25, 0x00 , 
		0x26, 0x6d , 
		0x27, 0x01 , 
		0x28, 0xb4 , 
		0x29, 0x02 , 
		0x2a, 0x8e , 
		0x2b, 0x02 , 
		0x2c, 0xfb , 
		0x2d, 0x07 , 
		0x2e, 0x3d , 

		0x3c,0x20 ,

		0x50,0x01 ,	
		0x51,0x00 ,
		0x52,0x78 ,
		0x53,0x00 ,
		0x54,0xa0 ,
		0x55,0x00 ,
		0x56,0xf0 ,
		0x57,0x01 ,
		0x58,0x40 ,

		0xfe,0x03 ,
		0x01,0x00 ,
		0x02,0x00 ,
		0x10,0x00 ,
		0x15,0x00 ,
		0x17,0x00 , 
		0x04,0x10 ,
		0x05,0x00 ,
		0x40,0x00 ,


		0x52,0xa0 , 

		0x53,0x24 , 
		0x54,0x20 ,
		0x55,0x20 , 
		0x5a,0x00 , 
		0x51,0x03 ,
		0x64,0x06 ,
		0xfe,0x00 ,
	},	
}

local gc0310_sdr =
{
	zbar_scan = 1,
	i2c_addr = 0x21, 
	sensor_width = 320, 
	sensor_height = 240, 
	id_reg = 0xf1, 
	id_value = 0x10,
	spi_mode = disp.CAMERA_SPI_MODE_LINE2, 
	spi_speed = disp.CAMERA_SPEED_SDR, 
	spi_yuv_out = disp.CAMERA_SPI_OUT_Y1_V0_Y0_U0, 
	
	init_cmd = 
	{
		
		 0xfe,0xf0 ,
		 0xfe,0xf0 ,
		 0xfe,0x00 ,

		 0xfc,0x16 , --4e 
		 0xfc,0x16 , --4e -- [0]apwd [6]regf_clk_gate 
		 0xf2,0x07 , --sync output
		 0xf3,0x83 , --ff--1f--01 data output
		 0xf5,0x07 , --sck_dely

		 0xf7,0x88 , --f8/   88
		 0xf8,0x00 ,           -- 00
		 0xf9,0x4f , --0f--01   4d
		 0xfa,0x32 , --32

		 0xfc,0xce ,
		 0xfd,0x00 ,
		------------------------------------------------/
		----------------/   CISCTL reg  ----------------/
		------------------------------------------------/
		 0x00,0x2f , 
		 0x01,0x0f , 
		 0x02,0x04 ,

		 0x03,0x02 ,
		 0x04,0x12 ,

		 0x09,0x00 , 
		 0x0a,0x00 , 
		 0x0b,0x00 , 
		 0x0c,0x02 ,--04 
		 0x0d,0x01 , 
		 0x0e,0xec ,--e8 
		 0x0f,0x02 , 
		 0x10,0x88 , 
		 0x16,0x00 ,
		 0x17,0x14 , --mirror
		 0x18,0x6a ,--1a 
		 0x19,0x14 , 
		 0x1b,0x48 ,
		 0x1c,0x1c ,
		 0x1e,0x6b ,
		 0x1f,0x28 ,
		 0x20,0x8b ,--0x89 travis20140801
		 0x21,0x49 ,
		 0x22,0xb0 ,
		 0x23,0x04 , 
		 0x24,0xff , 
		 0x34,0x20 , 


		------------------------------------------------/
		--------------------   BLK   --------------------
		------------------------------------------------/
		 0x26,0x23 ,
		 0x28,0xff ,
		 0x29,0x00 ,
		 0x32,0x00 ,
		 0x33,0x10 , 
		 0x37,0x20 ,
		 0x38,0x10 ,
		 0x47,0x80 ,
		 0x4e,0x0f ,--66
		 0xa8,0x02 ,
		 0xa9,0x80 ,


		------------------------------------------------/
		------------------   ISP reg  ------------------/
		------------------------------------------------/
		 0x40,0xff ,
		 0x41,0x21 ,
		 0x42,0xcf ,
		 0x44,0x02 ,
		 0x45,0xa8 , 
		 0x46,0x02 , --sync
		 0x4a,0x11 ,
		 0x4b,0x01 ,
		 0x4c,0x20 ,
		 0x4d,0x05 ,
		 0x4f,0x01 ,
		 0x50,0x01 ,
		 0x55,0x00 ,
		 0x56,0xf0 ,
		 0x57,0x01 ,
		 0x58,0x40 ,
		------------------------------------------------/
		------------------/   GAIN   --------------------
		------------------------------------------------/
		 0x70,0x70 ,
		 0x5a,0x84 ,
		 0x5b,0xc9 ,
		 0x5c,0xed ,
		 0x77,0x74 ,
		 0x78,0x40 ,
		 0x79,0x5f , 


		------------------------------------------------/ 
		------------------/   DNDD  --------------------/
		------------------------------------------------/ 
		 0x82,0x08 ,--0x14 
		 0x83,0x0b ,
		 0x89,0xf0 ,
		------------------------------------------------/ 
		------------------   EEINTP  --------------------
		------------------------------------------------/ 
		 0x8f,0xaa ,
		 0x90,0x8c ,
		 0x91,0x90 ,
		 0x92,0x03 ,
		 0x93,0x03 ,
		 0x94,0x05 ,
		 0x95,0x43 , --0x65
		 0x96,0xf0 , 
		------------------------------------------------/ 
		--------------------/  ASDE  --------------------
		------------------------------------------------/ 
		 0xfe,0x00 ,

		 0x9a,0x20 ,
		 0x9b,0x80 ,
		 0x9c,0x40 ,
		 0x9d,0x80 ,
		 
		 0xa1,0x30 ,
			 0xa2,0x32 ,
		 0xa4,0x30 ,
		 0xa5,0x30 ,
		 0xaa,0x10 , 
		 0xac,0x22 ,
		 

		------------------------------------------------/
		------------------/   GAMMA   ------------------/
		------------------------------------------------/
		 0xfe,0x00 ,--default
		 0xbf,0x08 ,
		 0xc0,0x16 ,
		 0xc1,0x28 ,
		 0xc2,0x41 ,
		 0xc3,0x5a ,
		 0xc4,0x6c ,
		 0xc5,0x7a ,
		 0xc6,0x96 ,
		 0xc7,0xac ,
		 0xc8,0xbc ,
		 0xc9,0xc9 ,
		 0xca,0xd3 ,
		 0xcb,0xdd ,
		 0xcc,0xe5 ,
		 0xcd,0xf1 ,
		 0xce,0xfa ,
		 0xcf,0xff ,

		------------------------------------------------/
		------------------/   YCP  ----------------------
		------------------------------------------------/
		 0xd0,0x40 , 
		 0xd1,0x38 , --0x34
		 0xd2,0x38 , --0x34
		 0xd3,0x50 ,--0x40 
		 0xd6,0xf2 , 
		 0xd7,0x1b , 
		 0xd8,0x18 , 
		 0xdd,0x03 , 

		------------------------------------------------/
		--------------------   AEC   --------------------
		------------------------------------------------/
		 0xfe,0x01 ,
		 0x05,0x30 ,
		 0x06,0x75 ,
		 0x07,0x40 ,
		 0x08,0xb0 ,
		 0x0a,0xc5 ,
		 0x0b,0x11 ,
		 0x0c,0x00 ,
		 0x12,0x52 ,
		 0x13,0x38 ,
		 0x18,0x95 ,
		 0x19,0x96 ,
		 0x1f,0x20 , 
		 0x20,0xc0 , 
		 0x3e,0x40 , 
		 0x3f,0x57 , 
		 0x40,0x7d , 

		 0x03,0x60 , 

		 0x44,0x02 , 
		------------------------------------------------/
		--------------------   AWB   --------------------
		------------------------------------------------/
		 0xfe,0x01 ,
		 0x1c,0x91 , 
		 0x21,0x15 , 
		 0x50,0x80 ,
		 0x56,0x04 ,
		 0x59,0x08 , 
		 0x5b,0x02 ,
		 0x61,0x8d , 
		 0x62,0xa7 , 
		 0x63,0xd0 , 
		 0x65,0x06 ,
		 0x66,0x06 , 
		 0x67,0x84 , 
		 0x69,0x08 , 
		 0x6a,0x25 , 
		 0x6b,0x01 , 
		 0x6c,0x00 , 
		 0x6d,0x02 , 
		 0x6e,0xf0 , 
		 0x6f,0x80 , 
		 0x76,0x80 , 
		 0x78,0xaf , 
		 0x79,0x75 ,
		 0x7a,0x40 ,
		 0x7b,0x50 ,
		 0x7c,0x0c , 

		 0x90,0xc9 ,--stable AWB 
		 0x91,0xbe ,
		 0x92,0xe2 ,
		 0x93,0xc9 ,
		 0x95,0x1b ,
		 0x96,0xe2 ,
		 0x97,0x49 ,
		 0x98,0x1b ,
		 0x9a,0x49 ,
		 0x9b,0x1b ,
		 0x9c,0xc3 ,
		 0x9d,0x49 ,
		 0x9f,0xc7 ,
		 0xa0,0xc8 ,
		 0xa1,0x00 ,
		 0xa2,0x00 ,
		 0x86,0x00 ,
		 0x87,0x00 ,
		 0x88,0x00 ,
		 0x89,0x00 ,
		 0xa4,0xb9 ,
		 0xa5,0xa0 ,
		 0xa6,0xba ,
		 0xa7,0x92 ,
		 0xa9,0xba ,
		 0xaa,0x80 ,
		 0xab,0x9d ,
		 0xac,0x7f ,
		 0xae,0xbb ,
		 0xaf,0x9d ,
		 0xb0,0xc8 ,
		 0xb1,0x97 ,
		 0xb3,0xb7 ,
		 0xb4,0x7f ,
		 0xb5,0x00 ,
		 0xb6,0x00 ,
		 0x8b,0x00 ,
		 0x8c,0x00 ,
		 0x8d,0x00 ,
		 0x8e,0x00 ,
		 0x94,0x55 ,
		 0x99,0xa6 ,
		 0x9e,0xaa ,
		 0xa3,0x0a ,
		 0x8a,0x00 ,
		 0xa8,0x55 ,
		 0xad,0x55 ,
		 0xb2,0x55 ,
		 0xb7,0x05 ,
		 0x8f,0x00 ,
		 0xb8,0xcb ,
		 0xb9,0x9b ,  
		 

		------------------------------------------------/
		--------------------  CC ------------------------
		------------------------------------------------/
		 0xfe,0x01 ,

		 0xd0,0x38 ,--skin red
		 0xd1,0x00 ,
		 0xd2,0x02 ,
		 0xd3,0x04 ,
		 0xd4,0x38 ,
		 0xd5,0x12 ,	

		 0xd6,0x30 ,
		 0xd7,0x00 ,
		 0xd8,0x0a ,
		 0xd9,0x16 ,
		 0xda,0x39 ,
		 0xdb,0xf8 ,
		------------------------------------------------/
		--------------------   LSC   --------------------
		------------------------------------------------/
		 0xfe,0x01 , 
		 0xc1,0x3c ,
		 0xc2,0x50 ,
		 0xc3,0x00 ,
		 0xc4,0x40 ,
		 0xc5,0x30 ,
		 0xc6,0x30 ,
		 0xc7,0x10 ,
		 0xc8,0x00 ,
		 0xc9,0x00 ,
		 0xdc,0x20 ,
		 0xdd,0x10 ,
		 0xdf,0x00 , 
		 0xde,0x00 , 


		------------------------------------------------/
		------------------/  Histogram  ----------------/
		------------------------------------------------/
		 0x01,0x10 , 
		 0x0b,0x31 , 
		 0x0e,0x50 , 
		 0x0f,0x0f , 
		 0x10,0x6e , 
		 0x12,0xa0 , 
		 0x15,0x60 , 
		 0x16,0x60 , 
		 0x17,0xe0 , 


		------------------------------------------------/
		--------------   Measure Window   --------------/
		------------------------------------------------/
		 0xcc,0x0c , 
		 0xcd,0x10 , 
		 0xce,0xa0 , 
		 0xcf,0xe6 , 


		------------------------------------------------/
		----------------/   dark sun   ------------------
		------------------------------------------------/
		 0x45,0xf7 ,
		 0x46,0xff , 
		 0x47,0x15 ,
		 0x48,0x03 , 
		 0x4f,0x60 , 
									
		------------------------------------------------/
		------------------/  banding  ------------------/
		------------------------------------------------/
		 0xfe,0x00 ,
		 0x05,0x01 ,
		 0x06,0x12 , --HB
		 0x07,0x00 ,
		 0x08,0x1c , --VB
		 0xfe,0x01 ,
		 0x25,0x00 , --step 
		 0x26,0x1f , 
		 0x27,0x01 , --6fps
		 0x28,0xf0 ,  
		 0x29,0x01 , --6fps
		 0x2a,0xf0 , 
		 0x2b,0x01 , --6fps
		 0x2c,0xf0 , 
		 0x2d,0x03 , --3.3fps
		 0x2e,0xe0 ,
		 0x3c,0x20 ,
		--------------------/  SPI   --------------------
		------------------------------------------------/
		 0xfe,0x03 ,
		 0x01,0x00 ,
		 0x02,0x00 ,
		 0x10,0x00 ,
		 0x15,0x00 ,
		 0x17,0x00 , --01--03
		 0x04,0x10 ,--fifo full level
		 0x40,0x00 ,
		 0x52,0x82 , --zwb 02改成da
		 0x53,0x24 , --24
		 0x54,0x20 ,
		 0x55,0x20 , --QQ--01
		 0x5a,0x00 , --00 --yuv 
		 0x5b,0x40 ,
		 0x5c,0x01 ,
		 0x5d,0xf0 ,
		 0x5e,0x00 ,
		 0x51,0x03 ,
		 0xfe,0x00 ,

	}
}
function scan()
    --唤醒系统
    pm.wake("testScanCode")
    local ret = 0

    --设置扫码回调函数，默认10秒超时
    scanCode.request(scanCodeCb)
    
    --打开摄像头
    --ret = disp.cameraopen(1,1) -- 内部配置的gc0310 camera
    --ret = disp.cameraopen_ext(gc6153) -- 外部配置gc6153 camera SDR
    ret = disp.cameraopen_ext(gc0310_sdr) -- 外部配置gc0310 camera SDR
    --ret = disp.cameraopen_ext(gc0310_ddr) -- 外部配置gc0310 camera DDR
    --ret = disp.cameraopen_ext(bf302A_sdr) -- 外部配置bf302A camera SDR
      
    log.info("testScanCode cameraopen_ext ret ", ret)
    --打开摄像头预览
    --zoom： 放缩设置, 正数放大负数缩小，最大4倍，0不放缩
    --disp.camerapreviewzoom(zoom)
    --缩小2倍
    disp.camerapreviewzoom(-2)
    ret = disp.camerapreview(0,0,0,0,128,160)
    --rotation：反转角度设置 暂时只支持0和90度
    --disp.camerapreviewrotation(90)
end


-- 拍照并显示
function takePhotoAndDisplay()
    --唤醒系统
    pm.wake("testTakePhoto")
    --打开摄像头
    disp.cameraopen(1,0,0,1)
    --disp.cameraopen(1,0,0,0)  --因目前core中还有问题没解决，所以不能关闭隔行隔列
    --打开摄像头预览
    --如果有LCD，使用LCD的宽和高
    --如果无LCD，宽度设置为240像素，高度设置为320像素，240*320是Air268F支持的最大分辨率
    disp.camerapreview(0,0,0,0,WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
    --设置照片的宽和高像素并且开始拍照
    --此处设置的宽和高和预览时的保持一致
    --此处的第三个参数表示拍摄质量，默认50，100最好
    disp.cameracapture(WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
    --设置照片保存路径
    disp.camerasavephoto("/testCamera.jpg")
    log.info("testCamera.takePhotoAndDisplay fileSize",io.fileSize("/testCamera.jpg"))
    --关闭摄像头预览
    disp.camerapreviewclose()
    --关闭摄像头
    disp.cameraclose()
    --允许系统休眠
    pm.sleep("testTakePhoto")    

    --testUartSentFile.sendFile()
    --显示拍照图片   
    if WIDTH~=0 and HEIGHT~=0 then
        disp.clear()
        disp.putimage("/testCamera.jpg",0,0)
        disp.puttext(common.utf8ToGb2312("照片尺寸: "..io.fileSize("/testCamera.jpg")),0,5)
        disp.update()
    end   
    
    sys.timerStart(takePhotoAndDisplay,5000)    
end


-- 拍照并通过uart1发送出去
function takePhotoAndSendToUart()
    --唤醒系统
    pm.wake("testTakePhoto")
    --打开摄像头
    disp.cameraopen(1,0,0,1)
    --disp.cameraopen(1,0,0,0)  --因目前core中还有问题没解决，所以不能关闭隔行隔列
    --打开摄像头预览
    --如果有LCD，使用LCD的宽和高
    --如果无LCD，宽度设置为240像素，高度设置为320像素，240*320是Air268F支持的最大分辨率
    disp.camerapreview(0,0,0,0,DEFAULT_WIDTH,DEFAULT_HEIGHT)
    --设置照片的宽和高像素并且开始拍照
    --此处设置的宽和高和预览时的保持一致
    disp.cameracapture(DEFAULT_WIDTH,DEFAULT_HEIGHT)
    --设置照片保存路径
    disp.camerasavephoto("/testCamera.jpg")
    log.info("testCamera.takePhotoAndSendToUart fileSize",io.fileSize("/testCamera.jpg"))
    --关闭摄像头预览
    disp.camerapreviewclose()
    --关闭摄像头
    disp.cameraclose()
    --允许系统休眠
    pm.sleep("testTakePhoto")    

    testUartSentFile.sendFile()     
    
    sys.timerStart(takePhotoAndSendToUart,30000)    
end


--sys.timerStart(takePhotoAndDisplay,1000)
--sys.timerStart(takePhotoAndSendToUart,1000)
sys.timerStart(scan,1000)
